package com.soft.cake.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.soft.cake.pojo.Order;
import com.soft.cake.pojo.User;
/**
 * 
 * @author guo
 *
 */

@Service
public interface IUserService {

	/**
	 * @author Guo Xue
	 * @description 根据用户id查找用户
	 * @param userId
	 * @param User
	 */
	public  User selectByPrimaryKey(Integer id);

	/**
	 * @author Guo Xue
	 * @description 根据主键修改用户
	 * @param record
	 * @param boolean
	 */
	boolean updateByPrimaryKeySelective(User record);
	
	
	/**
	 * @author CanLig
	 * @date 2019年8月22日 上午11:49:33
	 * @version 1.0.0
	 * @TODO
	 */
	public void add(User user);
	public void delete(int id);
	public void update(User user);
	public User load(int id);
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午7:11:18
	 * @version 1.0.0
	 * @description 绑定用户和其相对应的订单
	 * @TODO
	 */
	public List<User> getUserOrderList();
	
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午7:10:19
	 * @version 1.0.0
	 * @description 绑定用户和其相应地址
	 * @TODO
	 */
	public List<User> getUserAddressList();
	
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午8:21:08
	 * @version 1.0.0
	 * @description 根据订单id获取该用户收货地址
	 * @TODO
	 */
	public User getUserWithAddress(Integer orderId);
	
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午2:41:27
	 * @version 1.0.0
	 * @description 用户注册
	 * @TODO
	 */
	public boolean register(User user);
	
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午2:41:37
	 * @version 1.0.0
	 * @description 用户登录
	 * @TODO
	 */
	public boolean login(User user);
	
	/**
	 * 
	 * @author CanLig
	 * @date 2019年8月23日 下午2:43:51
	 * @version 1.0.0
	 * @description 订单结算获取相关用户
	 * @TODO
	 */
	public User settleOrderGetUser(Integer orderId);

}
